// 云函数入口文件
const cloud = require('wx-server-sdk')

cloud.init()
const db=cloud.database();
const _ =db.command;
// 云函数入口函数
exports.main = async (event, context) => {
  const openid = cloud.getWXContext().OPENID
  const id=event.id
  const userInfo = event.userInfo
  const userData={
    openid,
    userInfo
  }

  let count = await db.collection("article").where({
    _id: id,
    userGroup: _.elemMatch({
      openid: openid
    })
  }).count()
  
  //获取数据库中是否有该对应的用户
  let total = count.total;

  if (total){
    //数据库中存在该用户，就讲该用户删除
    return await db.collection("article").doc(id).update({
      data: {
        hits: _.inc(-1),        
        userGroup: _.pull({
          openid: openid
        })
      }
    })

  }else{
    //数据库中没有该用户，向数据库添加用户信息
    return await db.collection("article").doc(id).update({
      data: {
        hits: _.inc(1),
        userGroup: _.push([userData])
      }
    })

  } 


}